1. Field of the Invention
The invention relates to the processing of messages used in communications systems, and more particularly, to providing a preferred service flow for high priority messages.
2. Background of the Invention
In the last several years distributed computing and communications systems that rely on or provide high speed data communications have become nearly ubiquitous. Such systems may include, but are not limited to, broadband communication systems using cable modems, satellite communication systems, fiber to the home (FTTH) communications networks, and board-to-board interconnections in a myriad of electronic devices.
Electronic devices within a communication system exchange a variety of message types. While there are many ways to characterize message types, one approach is to characterize messages as service or control messages. Service messages can be defined as those messages that contain information being used by an end user. For example, one type of service message may carry data related to a website on the Internet. The data is provided to a computer that displays the website for an end user's use. Control messages, on the other hand, can be defined as those messages that contain information that allows one electronic device to manage or be aware of the actions of another electronic device. For example, control messages may carry system status indications, synchronization information or other system management instructions.
Typically, some messages—whether, service or control—have a higher processing priority than other messages. In the case of service messages, for example, a message that contains data used to display a website may have a lower processing priority than a message than contains data associated with a voice over Internet Protocol (VoIP) conversation. If the processing of a message containing website data was delayed for a fraction of a second, the end user would most likely not notice any effect. Whereas, even a fraction of second delay in processing and transmitting a VoIP message may lead to degradation in the audible quality of the voice conversation. Thus, in terms of processing the messages, a VoIP service message would have a higher priority than the website service message.
Similarly, it may be more important to process certain control messages more quickly than service messages or other control messages. For example, a control message that instructs a device to take an action within a particular time (such that, otherwise, no further data transmission can occur) would be a high priority message that should be processed ahead of other messages.
A specific example relates to messages used in a broadband cable modem communications network. In a broadband communications network that uses cable modems, typically many cable modems are connected to a single cable modem termination system (CMTS). Cable modems are located at customer premises and typically connected to personal computers through an Ethernet connection. CMTSs are typically located within a service provider's network center, often known as a headend location. CMTSs exchange data with multiple cable modems at high speeds.
One type of control message used in a broadband cable modem communications network is a Dynamic Channel Change Request (DCC-REQ) control message. A CMTS transmits a DCC-REQ control message to direct a cable modem to change its upstream (from cable modem to CMTS) channel and/or its downstream (from CMTS to cable modem) channel that it is using for data transmission. The CMTS may launch a DCC-REQ for traffic balancing, noise avoidance or other reasons. In most situations, the CMTS that transmits a DCC-REQ will expect to receive a response message, referred to as a DCC-RSP message, from a cable modem. The DCC-RSP control message provides information about the time the cable modem needs to execute the change, as well as other parameters.
In some cases, if the CMTS does not receive a DCC-RSP within a response time threshold, the cable modem will not be able to successfully move to the new channel. In this case, the ability of the cable modem to seamlessly switch channels and avoid a service interruption or degradation will be reduced. Unfortunately, when a cable modem is processing a large number of service messages, if the DCC-RSP message is processed normally, that is, without priority over any other messages, it can exceed the response time threshold, and service interruption or degradation can occur.
FIG. 1 illustrates a standard service flow system 100 that is typically used to manage, process and transmit messages from one device to another device, for example, from a cable modem to a CMTS. Standard service flow system 100 can exist in an electronic device, such as a cable modem. Standard service flow system 100 includes standard service flow queues 110, 120 and 130, request/grant state machines 140, 150, and 160, and controller 170.
Each queue 110, 120, and 130 has a request/grant state machine that is associated with the particular queue. For example, standard service flow queue 110 is associated with and electrically coupled to request/grant state machine 140. Although the example illustrates only three standard service flow queues for ease of illustration, any number of standard service flow queues can be used.
The standard service flow queues 110, 120, and 130 are used to accumulate messages that are being processed for transmission to another device. When a message is provided to standard service flow system 100, controller 170, which can be a direct memory access (DMA) controller, places the message into one of the queues. When a message moves to the top of a standard service flow queue, the message is made available to an input/output bus for transmission to another device by an indication being provided to a request/grant state machine.
When a device, such as a cable modem, is transmitting many messages the queues may be full. As a result, the time it takes for a message to move from the bottom of a queue to being transmitted can be greater than response time thresholds for which a CMTS expects to receive a response to a control message. As discussed above, if a response time threshold is exceeded this may result in performance degradation or system shut-down.
What is needed is a system and method to cost-effectively provide preferred service flow processing of messages that ensures high priority messages are provided preferred processing over lower priority messages to expedite high priority message processing.